{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "3ea01555",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "from sklearn import model_selection\n",
    "import numpy as np\n",
    "from sklearn import neighbors\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "from sklearn import neighbors\n",
    "from sklearn import metrics\n",
    "import seaborn as sns"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f18bada8",
   "metadata": {},
   "source": [
    "### 导入数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "217a429b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Channel</th>\n",
       "      <th>Region</th>\n",
       "      <th>Fresh</th>\n",
       "      <th>Milk</th>\n",
       "      <th>Grocery</th>\n",
       "      <th>Frozen</th>\n",
       "      <th>Detergents_Paper</th>\n",
       "      <th>Delicassen</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>12669</td>\n",
       "      <td>9656</td>\n",
       "      <td>7561</td>\n",
       "      <td>214</td>\n",
       "      <td>2674</td>\n",
       "      <td>1338</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>7057</td>\n",
       "      <td>9810</td>\n",
       "      <td>9568</td>\n",
       "      <td>1762</td>\n",
       "      <td>3293</td>\n",
       "      <td>1776</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>6353</td>\n",
       "      <td>8808</td>\n",
       "      <td>7684</td>\n",
       "      <td>2405</td>\n",
       "      <td>3516</td>\n",
       "      <td>7844</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>13265</td>\n",
       "      <td>1196</td>\n",
       "      <td>4221</td>\n",
       "      <td>6404</td>\n",
       "      <td>507</td>\n",
       "      <td>1788</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>22615</td>\n",
       "      <td>5410</td>\n",
       "      <td>7198</td>\n",
       "      <td>3915</td>\n",
       "      <td>1777</td>\n",
       "      <td>5185</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Channel  Region  Fresh  Milk  Grocery  Frozen  Detergents_Paper  Delicassen\n",
       "0        2       3  12669  9656     7561     214              2674        1338\n",
       "1        2       3   7057  9810     9568    1762              3293        1776\n",
       "2        2       3   6353  8808     7684    2405              3516        7844\n",
       "3        1       3  13265  1196     4221    6404               507        1788\n",
       "4        2       3  22615  5410     7198    3915              1777        5185"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "wholesale=pd.read_csv(r'C:\\Users\\LouisLou\\Desktop\\Wholesale customers data.csv',sep=',',encoding='utf8')\n",
    "wholesale.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "768cdd1d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 440 entries, 0 to 439\n",
      "Data columns (total 8 columns):\n",
      " #   Column            Non-Null Count  Dtype\n",
      "---  ------            --------------  -----\n",
      " 0   Channel           440 non-null    int64\n",
      " 1   Region            440 non-null    int64\n",
      " 2   Fresh             440 non-null    int64\n",
      " 3   Milk              440 non-null    int64\n",
      " 4   Grocery           440 non-null    int64\n",
      " 5   Frozen            440 non-null    int64\n",
      " 6   Detergents_Paper  440 non-null    int64\n",
      " 7   Delicassen        440 non-null    int64\n",
      "dtypes: int64(8)\n",
      "memory usage: 27.6 KB\n"
     ]
    }
   ],
   "source": [
    "wholesale.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "ddd4f8f1",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Channel</th>\n",
       "      <th>Region</th>\n",
       "      <th>Fresh</th>\n",
       "      <th>Milk</th>\n",
       "      <th>Grocery</th>\n",
       "      <th>Frozen</th>\n",
       "      <th>Detergents_Paper</th>\n",
       "      <th>Delicassen</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>440.00</td>\n",
       "      <td>440.00</td>\n",
       "      <td>440.00</td>\n",
       "      <td>440.00</td>\n",
       "      <td>440.00</td>\n",
       "      <td>440.00</td>\n",
       "      <td>440.00</td>\n",
       "      <td>440.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>1.32</td>\n",
       "      <td>2.54</td>\n",
       "      <td>12000.30</td>\n",
       "      <td>5796.27</td>\n",
       "      <td>7951.28</td>\n",
       "      <td>3071.93</td>\n",
       "      <td>2881.49</td>\n",
       "      <td>1524.87</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>0.47</td>\n",
       "      <td>0.77</td>\n",
       "      <td>12647.33</td>\n",
       "      <td>7380.38</td>\n",
       "      <td>9503.16</td>\n",
       "      <td>4854.67</td>\n",
       "      <td>4767.85</td>\n",
       "      <td>2820.11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>1.00</td>\n",
       "      <td>1.00</td>\n",
       "      <td>3.00</td>\n",
       "      <td>55.00</td>\n",
       "      <td>3.00</td>\n",
       "      <td>25.00</td>\n",
       "      <td>3.00</td>\n",
       "      <td>3.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>1.00</td>\n",
       "      <td>2.00</td>\n",
       "      <td>3127.75</td>\n",
       "      <td>1533.00</td>\n",
       "      <td>2153.00</td>\n",
       "      <td>742.25</td>\n",
       "      <td>256.75</td>\n",
       "      <td>408.25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>1.00</td>\n",
       "      <td>3.00</td>\n",
       "      <td>8504.00</td>\n",
       "      <td>3627.00</td>\n",
       "      <td>4755.50</td>\n",
       "      <td>1526.00</td>\n",
       "      <td>816.50</td>\n",
       "      <td>965.50</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>2.00</td>\n",
       "      <td>3.00</td>\n",
       "      <td>16933.75</td>\n",
       "      <td>7190.25</td>\n",
       "      <td>10655.75</td>\n",
       "      <td>3554.25</td>\n",
       "      <td>3922.00</td>\n",
       "      <td>1820.25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>2.00</td>\n",
       "      <td>3.00</td>\n",
       "      <td>112151.00</td>\n",
       "      <td>73498.00</td>\n",
       "      <td>92780.00</td>\n",
       "      <td>60869.00</td>\n",
       "      <td>40827.00</td>\n",
       "      <td>47943.00</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       Channel  Region      Fresh      Milk   Grocery    Frozen  \\\n",
       "count   440.00  440.00     440.00    440.00    440.00    440.00   \n",
       "mean      1.32    2.54   12000.30   5796.27   7951.28   3071.93   \n",
       "std       0.47    0.77   12647.33   7380.38   9503.16   4854.67   \n",
       "min       1.00    1.00       3.00     55.00      3.00     25.00   \n",
       "25%       1.00    2.00    3127.75   1533.00   2153.00    742.25   \n",
       "50%       1.00    3.00    8504.00   3627.00   4755.50   1526.00   \n",
       "75%       2.00    3.00   16933.75   7190.25  10655.75   3554.25   \n",
       "max       2.00    3.00  112151.00  73498.00  92780.00  60869.00   \n",
       "\n",
       "       Detergents_Paper  Delicassen  \n",
       "count            440.00      440.00  \n",
       "mean            2881.49     1524.87  \n",
       "std             4767.85     2820.11  \n",
       "min                3.00        3.00  \n",
       "25%              256.75      408.25  \n",
       "50%              816.50      965.50  \n",
       "75%             3922.00     1820.25  \n",
       "max            40827.00    47943.00  "
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "describe = wholesale.describe()\n",
    "describe.round(2)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "715ee099",
   "metadata": {},
   "source": [
    "### 数据预处理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "cacd5650",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[0.70833271, 0.53987376, 0.42274083, 0.01196489, 0.14950522,\n",
       "        0.07480852],\n",
       "       [0.44219826, 0.61470384, 0.59953989, 0.11040858, 0.20634248,\n",
       "        0.11128583],\n",
       "       [0.39655169, 0.5497918 , 0.47963217, 0.15011913, 0.2194673 ,\n",
       "        0.48961931],\n",
       "       ...,\n",
       "       [0.36446153, 0.38846468, 0.7585445 , 0.01096068, 0.37223685,\n",
       "        0.04682745],\n",
       "       [0.93773743, 0.1805304 , 0.20340427, 0.09459392, 0.01531   ,\n",
       "        0.19365326],\n",
       "       [0.67229603, 0.40960124, 0.60547651, 0.01567967, 0.11506466,\n",
       "        0.01254374]])"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.preprocessing import Normalizer\n",
    "train_data = wholesale.iloc[:,2:]\n",
    "norm_train_data = Normalizer().fit_transform(train_data)\n",
    "norm_train_data"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8db0e39b",
   "metadata": {},
   "source": [
    "### 适用轮廓系数找到最优K"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "9d2fedad",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\LouisLou\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\seaborn\\_decorators.py:36: FutureWarning: Pass the following variables as keyword args: x, y. From version 0.12, the only valid positional argument will be `data`, and passing other arguments without an explicit keyword will result in an error or misinterpretation.\n",
      "  warnings.warn(\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'score')"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.cluster import KMeans \n",
    "from sklearn.metrics import silhouette_score #轮廓系数\n",
    "clusters = [2,3,4,5,6]\n",
    "score=[]\n",
    "for k in clusters:\n",
    "    kmeans_  = KMeans(n_clusters=k)\n",
    "    kmeans_.fit(norm_train_data)\n",
    "    score.append(silhouette_score(norm_train_data,kmeans_.labels_))\n",
    "sns.lineplot(clusters,score)\n",
    "plt.xlabel('k')\n",
    "plt.ylabel('score')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "e8d5e8a3",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\LouisLou\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\seaborn\\_decorators.py:36: FutureWarning: Pass the following variables as keyword args: x, y. From version 0.12, the only valid positional argument will be `data`, and passing other arguments without an explicit keyword will result in an error or misinterpretation.\n",
      "  warnings.warn(\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'SSE')"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#手肘法\n",
    "SSE = [] #误差平方和\n",
    "for i in clusters:\n",
    "    kmeans = KMeans(n_clusters=i)\n",
    "    kmeans.fit(norm_train_data)\n",
    "    SSE.append(kmeans.inertia_)\n",
    "sns.lineplot(clusters,SSE)\n",
    "plt.xlabel('k')\n",
    "plt.ylabel('SSE')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "03bbccc9",
   "metadata": {},
   "source": [
    "### 建模及可视化分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "65a32fa0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Fresh</th>\n",
       "      <th>Milk</th>\n",
       "      <th>Grocery</th>\n",
       "      <th>Frozen</th>\n",
       "      <th>Detergents_Paper</th>\n",
       "      <th>Delicassen</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.902462</td>\n",
       "      <td>0.179160</td>\n",
       "      <td>0.229113</td>\n",
       "      <td>0.149695</td>\n",
       "      <td>0.049047</td>\n",
       "      <td>0.074455</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.254118</td>\n",
       "      <td>0.486061</td>\n",
       "      <td>0.684665</td>\n",
       "      <td>0.095721</td>\n",
       "      <td>0.271384</td>\n",
       "      <td>0.097196</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.575088</td>\n",
       "      <td>0.233245</td>\n",
       "      <td>0.279252</td>\n",
       "      <td>0.625425</td>\n",
       "      <td>0.053748</td>\n",
       "      <td>0.109052</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      Fresh      Milk   Grocery    Frozen  Detergents_Paper  Delicassen\n",
       "0  0.902462  0.179160  0.229113  0.149695          0.049047    0.074455\n",
       "1  0.254118  0.486061  0.684665  0.095721          0.271384    0.097196\n",
       "2  0.575088  0.233245  0.279252  0.625425          0.053748    0.109052"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "kmeans_ = KMeans(n_clusters=3,init='k-means++',random_state=10)\n",
    "kmeans_.fit(norm_train_data)\n",
    "center = pd.DataFrame(kmeans_.cluster_centers_,columns=['Fresh','Milk','Grocery','Frozen','Detergents_Paper','Delicassen'])\n",
    "center"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "a8ef9730",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x1ae064dd790>"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "km_labels = pd.Series(kmeans_.labels_)\n",
    "sizes = km_labels.value_counts(1).values\n",
    "labels = km_labels.value_counts(1).index\n",
    "plt.pie(sizes,autopct='%.f%%')\n",
    "plt.legend(labels)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "e3fb2bd4",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([0, 1, 2]), [Text(0, 0, '0'), Text(1, 0, '1'), Text(2, 0, '2')])"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAD4CAYAAAD8Zh1EAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAc30lEQVR4nO3deXBUZdr38e+VAAbB4WEJIxIkOC+CkKUJIYAZFOEBFJkguIyILC6jKOAMKCOWDGBgSlTEekdSKj4q+MhgHNTIKA6IgAuFsk1YEpYAZl7CWILIYpAoy/3+kZAJMUk30Ek3J79PFVU53Xefcx1aft65+5yrzTmHiIhc+CJCXYCIiASHAl1ExCMU6CIiHqFAFxHxCAW6iIhH1AnVgZs1a+ZiY2NDdXgRkQvS+vXrv3XORVf0XMgCPTY2lnXr1oXq8CIiFyQz+1dlz2nJRUTEIxToIiIeoUAXEfGIkK2hV+T48eMUFBRQVFQU6lKkBkRFRRETE0PdunVDXYqIJ4RVoBcUFHDJJZcQGxuLmYW6HKlGzjkOHDhAQUEBbdq0CXU5Ip4QVksuRUVFNG3aVGFeC5gZTZs21W9jIkEUVoEOKMxrEb3XIsEVdoEuIiLnJqzW0MuLnfhBUPeXP+NGv2MiIyOJj48v3c7KyuJ87mg9fQNVs2bNznkfIiKBCOtAD7ZNBYeqfD4h5r+oX78+2dnZFT7vnMM5R0SEfrERkfCjZPIjPz+fdu3aMXz4cOLi4tizZw/PPPMMXbp0ISEhgSlTpgBw9OhRbrzxRhITE4mLiyMzM7N0H88//zxJSUnEx8ezbdu2UJ2KiHicAr2cY8eO4fP58Pl8DBo0CIC8vDwefPBBcnJy2L59O3l5eaxZs4bs7GzWr1/Pp59+yj/+8Q8uu+wyNm7cyJYtW7j++utL99msWTM2bNjAAw88wMyZM0N1aiLicbVqySUQ5Zdc8vPzad26Nd26dQNg6dKlLF26lE6dOgFQWFhIXl4ePXr04OGHH+bRRx9lwIAB9OjRo3QfgwcPBqBz58688847NXcyIlKrKNAD0KBBg9KfnXM89thj3H///T8bt2HDBhYvXsykSZPo3bs3kydPBuCiiy4Cij9wPXHiRM0ULSK1jpZczlK/fv149dVXKSwsBGDv3r3s27ePf//731x88cXceeedTJgwgQ0bNoS4UhGpbcJ6hh7IZYaB8neFS6D69u3L1q1b6d69OwANGzbkjTfeYOfOnUyYMIGIiAjq1q3LCy+8EJTjiYgEypxzITlwcnKyK/8FF1u3buWqq66qluMFEugJMf9VLceWylXney7iRWa23jmXXNFzWnIREfEIBbqIiEco0EVEPEKBLiLiEQp0ERGPUKCLiHhEWF+HztRGQdtVArDp3n/5HWdmDB06lDfeeAOAEydO0KJFC7p27cr777/PokWLyM3NZeLEiUydOpWGDRvyyCOP0LNnT2bOnElycoVXE4mIVLvwDvQQaNCgAVu2bOHYsWPUr1+fjz76iJYtW5Y+n5aWRlpaWggrFBGpmJZcKtC/f38++KD4yzUWLFjAkCFDSp+bO3cuY8aMqfS1p06dYuTIkUyaNKna6xQRKUuBXoHbb7+dN998k6KiIjZt2kTXrl0Det2JEycYOnQobdu2Zfr06dVcpYjImRToFUhISCA/P58FCxbQv3//gF93//33ExcXx+OPP16N1YmIVEyBXom0tDQeeeSRM5Zb/Ln66qtZsWIFRUVF1ViZiEjFAgp0M7vezLab2U4zm1jB85eb2Qoz+6eZbTKzwKe1Yeruu+9mypQpZ3xhtD/33HMP/fv357bbblPfcxGpcX6vcjGzSCAD6AMUAGvNbJFzLrfMsEnAW865F8ysA7AYiD3v6qYePu9dnHa27XNjYmJ46KGHzvo448eP5/DhwwwbNoz58+frC6VFpMb4bZ9rZt2Bqc65fiXbjwE4554sM+YlYLdz7qmS8c86566uar9qnyug9rkiZ+t82+e2BPaU2S4oeaysqcCdZlZA8ex8bCWF3Gdm68xs3f79+wM4tIiIBCpY6wFDgLnOuRigP/C/ZvazfTvn5jjnkp1zydHR0UE6tIiIQGCBvhdoVWY7puSxsu4B3gJwzq0GooBmwShQREQCE0igrwXamlkbM6sH3A4sKjfm/wG9AczsKooDXWsqIiI1yG+gO+dOAGOAJcBWiq9myTGzdDM73dTkYeB3ZrYRWACMdKH6slIRkVoqoOZczrnFFH/YWfaxyWV+zgVSg1uaiIicjbDuthg/L/CbegIxv/dnAY375ptvGDduHF988QWNGzemXr16/PGPf2TQoEFBrUdEJJh010s5zjluuukmrrnmGnbv3s369et58803KSgoOGNcdd0JevLkyWrZr4h4nwK9nOXLl1OvXj1GjRpV+ljr1q0ZO3Ysc+fOJS0tjV69etG7d2++++47brrpJhISEujWrRubNm0CoLCwkLvuuov4+HgSEhJ4++23AVi6dCndu3cnKSmJW2+9lcLCQgBiY2N59NFHSUpKYsaMGSQlJZUeOy8v74xtEZHKhPWSSyjk5ORUGaAbNmxg06ZNNGnShLFjx9KpUyeysrJYvnw5w4cPJzs7m2nTptGoUSM2b94MwMGDB/n222+ZPn06y5Yto0GDBjz11FPMmjWLyZOLP4po2rQpGzZsAGDZsmVkZ2fj8/l47bXXuOuuu6r/xEXkgqcZuh+jR48mMTGRLl26ANCnTx+aNGkCwOeff86wYcMA6NWrFwcOHODIkSMsW7aM0aNHl+6jcePGfPHFF+Tm5pKamorP52PevHn861//+Uq83/72t6U/33vvvbz22mucPHmSzMxM7rjjjpo4VRG5wGmGXk7Hjh1Ll0gAMjIy+Pbbb0u/K7RBgwbntF/nHH369GHBggUVPl92vzfffDNPPPEEvXr1onPnzjRt2vScjikitYtm6OX06tWLoqIiXnjhhdLHfvjhhwrH9ujRg/nz5wOwcuVKmjVrxi9+8Qv69OlDRkZG6biDBw/SrVs3Vq1axc6dOwE4evQoO3bsqHC/UVFR9OvXjwceeEDLLSISsLCeoW8esTlo+wq0fa6ZkZWVxbhx43j66aeJjo4uXfM+duzYGWOnTp3K3XffTUJCAhdffDHz5s0DYNKkSYwePZq4uDgiIyOZMmUKgwcPZu7cuQwZMoQff/wRgOnTp3PllVdWWMfQoUN599136du377mftIjUKn7b51YXtc+t2syZMzl8+DDTpk0LdSnVSu1zRc5OVe1zw3qGXlsNGjSIXbt2sXz58lCXIiIXEAV6GHr33XdDXYKIXID0oaiIiEco0EVEPEKBLiLiEQp0ERGPCOsPRbe2D97lbHWB48tW+x0XGRlJfPx/2vZmZWURGxsbtDpERKpLWAd6KNSvX5/s7OwKn3PO4ZwjIkK/2IhI+FEy+ZGfn0+7du0YPnw4cXFx7NmzhwkTJhAXF0d8fDyZmZkATJ48GZ/Ph8/no2XLlqW37L/xxhukpKTg8/m4//77S/udN2zYkMcff5zExES6devGN998E7JzFBFvUKCXc+zYsdJgPv0NRXl5eTz44IPk5OSwbt06srOz2bhxI8uWLWPChAl8/fXXpKenk52dzcqVK2nSpAljxoxh69atZGZmsmrVKrKzs4mMjCzt/XL06FG6devGxo0bueaaa3j55ZdDedoi4gFacimn/JJLfn4+rVu3plu3bkBxy9whQ4YQGRnJL3/5S6699lrWrl1LWloazjnuvPNOxo8fT+fOnZk9ezbr168vbb177NgxmjdvDkC9evUYMGAAAJ07d+ajjz6q2RMVEc9RoAcg0Ja5U6dOJSYmpnS5xTnHiBEjePLJJ382tm7dupgZUPxBbHV9pZ2I1B4K9LPUo0cPXnrpJUaMGMF3333Hp59+yjPPPMPf//53li1bxooVK0rH9u7dm4EDBzJu3DiaN2/Od999x/fff0/r1q1DeAa1WyBfPB7MLp8iNSmsA/2qbVuDtq9A2+f6M2jQIFavXk1iYiJmxtNPP82ll17KrFmz2Lt3LykpKQCkpaWRnp7O9OnT6du3L6dOnaJu3bpkZGQo0EWkWqh9bhnh1D63tqjp9rmaocuFrqr2ubrKRUTEIxToIiIeoUAXEfEIBbqIiEco0EVEPEKBLiLiEWF9HXrGqOB+SXKPSUlB3Z+ISDjRDL2cyMhIfD4fHTt2JDExkWeffZZTp05V+Zr8/Hz++te/1lCFFcvOzmbx4sVn/br8/Hzq16+Pz+ejQ4cOjBo1yu/5ikh4UqCXc7o5V05ODh999BEffvghTzzxRJWvOZdAD3bvlnMNdIBf/epXZGdns2nTJnJzc8nKygpqbaepX41I9VKgV6F58+bMmTOH2bNn45zj5MmTTJgwgS5dupCQkMBLL70EwMSJE/nss8/w+Xw899xzlY5buXIlPXr0IC0tjQ4dOnDq1CkefPBB2rdvT58+fejfvz8LFy4EYP369Vx77bV07tyZfv368fXXXwPQs2dPHn30UVJSUrjyyiv57LPP+Omnn5g8eTKZmZn4fD4yMzP55JNPStsAd+rUie+//97v+dapU4err76anTt38vLLL9OlSxcSExO5+eab+eGHHwAYOXIko0aNIjk5mSuvvJL3338fIOBzFpHqE9Zr6OHgiiuu4OTJk+zbt4/33nuPRo0asXbtWn788UdSU1Pp27cvM2bMYObMmaXhNmfOnArHAWzYsIEtW7bQpk0bFi5cSH5+Prm5uezbt4+rrrqKu+++m+PHjzN27Fjee+89oqOjyczM5PHHH+fVV18Fime6a9asYfHixTzxxBMsW7aM9PR01q1bx+zZswH4zW9+Q0ZGBqmpqRQWFhIVFeX3XH/44Qc+/vhj0tPTSUlJ4Xe/+x0AkyZN4pVXXmHs2LFA8W8ka9asYdeuXVx33XXs3LmT119/PaBzFqlugXx1ZTD7RIUTBfpZWLp0KZs2bSqdRR8+fJi8vDzq1asX8LiUlJTSYPv888+59dZbiYiI4NJLL+W6664DYPv27WzZsoU+ffoAxbPfFi1alO5/8ODBQHEf9fz8/AprTU1NZfz48QwdOpTBgwcTExNT6Xnt2rULn8+HmTFw4EBuuOEGPvnkEyZNmsShQ4coLCykX79+peNvu+02IiIiaNu2LVdccQXbtm0L+JxFpPoo0P3YvXs3kZGRNG/eHOcczz///BnhBsXLCmVVNS6Q3urOOTp27Mjq1RV/qfVFF10EVN1HfeLEidx4440sXryY1NRUlixZQvv27Ssce3oNvayRI0eSlZVFYmIic+fOPeMcT/dxL7t9vucsIucvoEA3s+uB/wtEAv/jnJtRwZjbgKmAAzY65+443+JGv9jrfHdR6lza5+7fv59Ro0YxZswYzIx+/frxwgsv0KtXL+rWrcuOHTto2bIll1xyyRlr1JWNKy81NZV58+YxYsQI9u/fz8qVK7njjjto164d+/fvZ/Xq1XTv3p3jx4+zY8cOOnbsWGmt5WvYtWsX8fHxxMfHs3btWrZt21ZpoFfk+++/p0WLFhw/fpz58+efUf/f/vY3RowYwVdffcXu3btp165dwOcsItXHb6CbWSSQAfQBCoC1ZrbIOZdbZkxb4DEg1Tl30MyaV1fB1e30d4oeP36cOnXqMGzYMMaPHw/AvffeS35+PklJSTjniI6OJisri4SEBCIjI0lMTGTkyJH8/ve/r3BceTfffDMff/wxHTp0oFWrViQlJdGoUSPq1avHwoULeeihhzh8+DAnTpzgD3/4Q5WBft111zFjxgx8Ph+PPfYYn3/+OStWrCAiIoKOHTtyww03nNXfw7Rp0+jatSvR0dF07dr1jP9ZXH755aSkpHDkyBFefPFFoqKiKv27EZGa47cfupl1B6Y65/qVbD8G4Jx7ssyYp4Edzrn/CfTA6oderLCwkIYNG3LgwAFSUlJYtWoVl156aY3XEaiRI0cyYMAAbrnllqDsT/3QJdi8/qFoVf3QA1lyaQnsKbNdAHQtN+bKkgOtonhZZqpz7h8VFHIfcB8Uz/IEBgwYwKFDh/jpp5/405/+FNZhLiLhLVgfitYB2gI9gRjgUzOLd84dKjvIOTcHmAPFM/QgHfuCVv4D1eqyefNmhg0bdsZjF110EV9++eVZ7Wfu3LlBrEpEgimQQN8LtCqzHVPyWFkFwJfOuePAV2a2g+KAXxuUKuW8xcfH/+xKFhHxlkDuFF0LtDWzNmZWD7gdWFRuTBbFs3PMrBnFSzC7g1emiIj44zfQnXMngDHAEmAr8JZzLsfM0s0srWTYEuCAmeUCK4AJzrkD1VW0iIj8XEBr6M65xcDico9NLvOzA8aX/BERkRAI6ztFn/3tgKDur8+zb/gdExkZSXx8fOl16MOHD2fcuHFERFT+y0x+fj4DBgxgy5YtrFu3jtdff52//OUvwSxd5IIVO/EDv2PyZ9xYA5V4X1gHeiicbp8LsG/fPu644w6OHDnit4XuacnJySQnV3iJqIhItVL73CoE2j63rJUrVzJgQPFvFoWFhdx1113Ex8eTkJDA22+/DcADDzxAcnIyHTt2ZMqUKaWvnThxIh06dCAhIYFHHnkEKL7NPi4ujsTERK655hqg6la1PXv25JZbbqF9+/YMHToUfzeOiYh3aIbuRyDtc8s3qzpt2rRpNGrUiM2bi+88PHjwIAB//vOfadKkCSdPnqR3795s2rSJli1b8u6777Jt2zbMjEOHDgGQnp7OkiVLaNmyZeljr7zySqWtav/5z3+Sk5PDZZddRmpqKqtWreLXv/519f4liUhY0Az9LCxdupTXX38dn89H165dOXDgAHl5eZWOX7ZsGaNHjy7dbty4MQBvvfUWSUlJdOrUiZycHHJzc2nUqBFRUVHcc889vPPOO1x88cVAcQOvkSNH8vLLL3Py5Em/daSkpBATE0NERAQ+n6/S9roi4j2aofsRSPvcswnNr776ipkzZ7J27VoaN27MyJEjKSoqok6dOqxZs4aPP/6YhQsXMnv2bJYvX86LL77Il19+yQcffEDnzp1Zv359la1qT7fWharb64qI92iGXoXK2uceP34cgB07dnD06NFKX9+nTx8yMjJKtw8ePMiRI0do0KABjRo14ptvvuHDDz8EitfbDx8+TP/+/XnuuefYuHEjUNwGt2vXrqSnpxMdHc2ePXvOug4RqR3Ceob+cOb7QdtXoP3Qz6V9bmUmTZrE6NGjiYuLIzIykilTpjB48GA6depE+/btadWqFampqUBx//GBAwdSVFSEc45Zs2YBMGHCBPLy8nDO0bt3bxITE0lISFCrWhH5Gb/tc6uL2ucKqH1ubVDT16HX5va5WnIREfEIBbqIiEeEXaDrRpjaQ++1SHCFVaBHRUVx4MAB/UOvBZxzHDhwgKioqFCXIuIZYXWVS0xMDAUFBezfvz/o+/7m4DG/Y7Z+Xz/ox5XKRUVFERMTE+oyRDwjrAK9bt26tGnTplr2fYM6vomIx4XVkouIiJw7BbqIiEco0EVEPEKBLiLiEQp0ERGPCKurXETOy9RG/se0ubz66xAJEc3QRUQ8QoEuIuIRCnQREY9QoIuIeIQCXUTEIxToIiIeoUAXEfEIBbqIiEco0EVEPEKBLiLiEQp0ERGPUKCLiHiEAl1ExCMU6CIiHqFAFxHxCAW6iIhHBBToZna9mW03s51mNrGKcTebmTOz5OCVKCIigfAb6GYWCWQANwAdgCFm1qGCcZcAvwe+DHaRIiLiXyAz9BRgp3Nut3PuJ+BNYGAF46YBTwFFQaxPREQCFEigtwT2lNkuKHmslJklAa2ccx9UtSMzu8/M1pnZuv379591sSIiUrnz/lDUzCKAWcDD/sY65+Y455Kdc8nR0dHne2gRESkjkEDfC7Qqsx1T8thplwBxwEozywe6AYv0waiISM0KJNDXAm3NrI2Z1QNuBxadftI5d9g518w5F+uciwW+ANKcc+uqpWIREamQ30B3zp0AxgBLgK3AW865HDNLN7O06i5QREQCUyeQQc65xcDico9NrmRsz/MvS0REzpbuFBUR8QgFuoiIRyjQRUQ8QoEuIuIRCnQREY9QoIuIeIQCXUTEIxToIiIeoUAXEfEIBbqIiEco0EVEPEKBLiLiEQp0ERGPUKCLiHiEAl1ExCMU6CIiHqFAFxHxCAW6iIhHKNBFRDxCgS4i4hEKdBERj1Cgi4h4RJ1QFyAiEqj4efF+x7xVA3WEK83QRUQ8QjN0kXOUMWq53zGjX+xVA5WIFNMMXUTEIxToIiIeoSUXuSDETvzA75j8qBooRCSMaYYuIuIRCnQREY9QoIuIeIQCXUTEI/ShqIiE3tRGgY1rc3n11nGBU6Cfg0BuP948YnMNVCIi8h9achER8QgFuoiIRyjQRUQ8IqBAN7PrzWy7me00s4kVPD/ezHLNbJOZfWxmrYNfqoiIVMVvoJtZJJAB3AB0AIaYWYdyw/4JJDvnEoCFwNPBLlRERKoWyAw9BdjpnNvtnPsJeBMYWHaAc26Fc+6Hks0vgJjglikiIv4EEugtgT1ltgtKHqvMPcCHFT1hZveZ2TozW7d///7AqxQREb+C+qGomd0JJAPPVPS8c26Ocy7ZOZccHR0dzEOLiNR6gdxYtBdoVWY7puSxM5jZfwOPA9c6534MTnkiIhKoQGboa4G2ZtbGzOoBtwOLyg4ws07AS0Cac25f8MsUERF//Aa6c+4EMAZYAmwF3nLO5ZhZupmllQx7BmgI/M3Mss1sUSW7ExGRahJQLxfn3GJgcbnHJpf5+b+DXFdoqEGQiFzAdKeoiIhHKNBFRDxCgS4i4hEKdBERj1Cgi4h4hL6xqJpsbX+V3zFXbdtaA5WISG2hGbqIiEco0EVEPEKBLiLiEQp0ERGPUKCLiHiEAl1ExCMU6CIiHqFAFxHxCAW6iIhH6E5REZFKPPvbAX7HPJz5fg1UEhjN0EVEPEIzdJFqdKHN8OTCpkAXKSeQxmoA9Myo3kJEzpKWXEREPEKBLiLiEQp0ERGPUKCLiHiEPhQNc4FcJQG6UkJENEMXEfEMBbqIiEco0EVEPEJr6CJS62SMWh7qEqqFZugiIh6hGXoIeXWWICKhoRm6iIhHKNBFRDxCgS4i4hEKdBERj1Cgi4h4hAJdRMQjFOgiIh4RUKCb2fVmtt3MdprZxAqev8jMMkue/9LMYoNeqYiIVMlvoJtZJJAB3AB0AIaYWYdyw+4BDjrn/g/wHPBUsAsVEZGqBTJDTwF2Oud2O+d+At4EBpYbMxCYV/LzQqC3mVnwyhQREX/MOVf1ALNbgOudc/eWbA8DujrnxpQZs6VkTEHJ9q6SMd+W29d9wH0lm+2A7cE6kTDUDPjW7ygJR3rvLmxef/9aO+eiK3qiRnu5OOfmAHNq8pihYmbrnHPJoa5Dzp7euwtbbX7/Ally2Qu0KrMdU/JYhWPMrA7QCDgQjAJFRCQwgQT6WqCtmbUxs3rA7cCicmMWASNKfr4FWO78reWIiEhQ+V1ycc6dMLMxwBIgEnjVOZdjZunAOufcIuAV4H/NbCfwHcWhX9vViqUlj9J7d2Grte+f3w9FRUTkwqA7RUVEPEKBLiLiEQr0IPPXJkHCl5m9amb7Su6rkAuMmbUysxVmlmtmOWb2+1DXVNO0hh5EJW0SdgB9gAKKrxAa4pzLDWlhEhAzuwYoBF53zsWFuh45O2bWAmjhnNtgZpcA64GbatO/P83QgyuQNgkSppxzn1J8lZZcgJxzXzvnNpT8/D2wFWgZ2qpqlgI9uFoCe8psF1DL/oMSCQclHV87AV+GuJQapUAXEU8xs4bA28AfnHNHQl1PTVKgB1cgbRJEpJqYWV2Kw3y+c+6dUNdT0xTowRVImwQRqQYlLbtfAbY652aFup5QUKAHkXPuBHC6TcJW4C3nXE5oq5JAmdkCYDXQzswKzOyeUNckZyUVGAb0MrPskj/9Q11UTdJliyIiHqEZuoiIRyjQRUQ8QoEuIuIRCnQREY9QoIuIeIQCXUTEIxToIiIe8f8BJirZt7wwC2IAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "center.plot(kind='bar')\n",
    "plt.xticks(rotation=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "57ac2e0b",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
